    Help for BarCod

Properties            Events            Frequently Asked Questions

Registration Information

Order Form

Getting Custom Controls Written

Licensing Information

Description

BarCod VBX/OCX makes barcode display and printing really easy.  Just pick the barcode Style,  set the Size, and fill the Caption property with the information you want to be displayed as a barcode.  You can choose vertical as well as horizontal orientation. For printing, add instructions for position placement on the paper, and BarCod paints into the Printer Object.

BarWidth is based on pixels.  You can allow BarCod to fill the space you have designated or you can control the width yourself by setting the width of the narrowest bar in pixels.  If BarCod cannot fit the entire barcode into the control window, it will fill the control with the background color.

Under VB 3.0 and VB 4.0, BarCod will bind to a data control.  It uses the DataField, DataSource, and DataChanged properties.horizontal orientation. For printing, add instructions for position placement on the paper, and BarCod paints into the Printer Object.

File Name

BARCOD1.VBX, BARCOD16.OCX, BARCOD32.OCX

ActiveX / OCX Object Name

Mabry.BarCod

ActiveX Compatility

VB 4.0 (32-bit) and 5.0, Access 97

ActiveX Built With

Microsoft Visual C++ v4

ActiveX - Required DLLs

MFC40.DLL (October 6th, 1995 or later)

OLEPRO32.DLL  (October 6th, 1995 or later)

MSVCRT40.DLL  (September 29th, 1995 or later)

VBX Object Type

Barcode

VBX Compatibility

VB 1.0, 2.0, 3.0 and 4.0 (16-bit)

VBX Built With

Microsoft Visual C++ v1.5

Distribution Note    When you develop and distribute an application that uses this control, you should install the control file into the user's Windows SYSTEM directory.  The control file has version information built into it.  So, during installation, you should ensure that you are not overwriting a newer version.


BarCod Properties

Properties that have special meaning for this control or that only apply to this control are marked with an asterisk (*).

*Alignment Property

BackColor Property

*BarWidth Property

Caption Property

DataChanged Property

DataField Property

DataSource Property

*Direction Property

*Displayed Property

Enabled Property

ForeColor Property

Height Property

HelpContextID Property

hWnd Property

Index Property

Left Property

Name Property

Parent Property

*PrinterHDC Property

*PrinterHeight Property

*PrinterLeft Property

*PrinterScaleMode Property

*PrinterTop Property

*PrinterWidth Property

*Style Property

Tag Property

Top Property

*UPCNotches Property

*Version Property

Visible Property

Width Property


BarCod Events

Events that have special meaning for this control or that only apply to this control are marked with an asterisk (*).

Click Event

DblClick Event

DragDrop Event

DragOver Event

MouseDown Event

MouseMove Event

MouseUp Event


Frequently Asked Questions

General Questions

Does BarCod have to be bound?

Is BarCod certified by the USPS?

Does BarCod print with Crystal Reports, Access, etc.?

Does Mabry have a Barcode font?

If I have the barcode, will your software tell me the number?

Can I use BarCod to print control codes (such as a Tab character)?

Will BarCod work with a non-Windows printer driver?

How can I print just the Barcode and not the number?

Why does BarCod just the numbers and not the barcode? Why doesn't anything print?

Clarion

How do I use BarCod in Clarion?

How do I print barcodes in Clarion?

Royal Mail Barcode

Why isn't the Mabry BarCod control generating the correct Royal Mail Post Code?

Style

Do you support the EAN-99 style?


FAQ - Does BarCod have to be bound?
Does BarCod have to be bound?

Frequently Asked Questions

Not at all. You can change values in BarCod by merely setting the Caption property.


FAQ - Is BarCod certified by the USPS?
Is BarCod certified by the USPS?

Frequently Asked Questions

Not yet. We are working on certification. From early indications, BarCod definitely meets USPS requirements.


FAQ - Does BarCod print with Crystal Reports, Access, etc.?
Does BarCod print with Crystal Reports, Access, etc.?

Frequently Asked Questions

Barcode prints fine in Access 95 and Access 97, yes, but Access 2.0 and other products like these require "text" only during printing.  BarCod is a graphical custom control.  We recommend using a barcode font with these other products.  We recommend using a barcode font with these products.


FAQ - Does Mabry have a Barcode font?
Does Mabry have a Barcode font?

Frequently Asked Questions

No.


FAQ - If I have the barcode, will your software tell me the number?
If I have the barcode, will your software tell me the number?

Frequently Asked Questions

No. BarCod generates and prints barcodes. Typically you do not require any special software to read barcodes. Your barcode reading hardware takes care of all of this. The scanner usually sends characters down a serial port or stuffs them into the keyboard buffer.


FAQ - Can I use BarCod to print control codes (such as a Tab character)?
Can I use BarCod to print control codes (such as a Tab character)?

Frequently Asked Questions

Yes. Extended 3 of 9 supports the complete ASCII character set (including control codes such as Carriage Return and Tab).


FAQ - Will BarCod work with a non-Windows printer driver?
Will BarCod work with a non-Windows printer driver?

Frequently Asked Questions

No. BarCod requires a valid Windows printer driver.


FAQ - How can I print just the Barcode and not the number?
How can I print just the Barcode and not the number?

Frequently Asked Questions

It is very likely that you have a line of code that says something like:

    Printer.Print Barcode1.Displayed

Delete this line. It is not needed to print the barcode. All this line does is print the text/numbers that the barcode control is displaying.


FAQ - Why does BarCod just the numbers and not the barcode? Why doesn't anything print?
Why does BarCod just the numbers and not the barcode? Why doesn't anything print?

Frequently Asked Questions

On some printer drivers, the Printer Object needs to be initialized before BarCod can print. This is easily done by putting the following line before any printing code:

    Printer.Print


FAQ - How do I use BarCod in Clarion?
How do I use BarCod in Clarion?

Frequently Asked Questions

To place a barcode on a window in Clarion, add the following code to a suitable embed point:

    ?Custom1{'Caption'} = FORMAT(MAS:MASTER_No, @n06)

This displays "Master No" in a formatted 6-digit numeric field with leading zeroes. If you want to display something different, modify this code to fit your needs.


FAQ - How do I print barcodes in Clarion?
How do I print barcodes in Clarion?

Frequently Asked Questions

Put the following code in a report in the "before printing detail" embed:

    REPORT$?Custom1{'Caption'} = FORMAT(MAS:MASTER_No, @n06)

This prints "Master No" in a formatted 6-digit numeric field with leading zeroes. The barcode will automatically print with the rest of the report. You can print multiple different instances of the barcode in the same report page (for doing labels or other similar items).


FAQ - Why isn't the Mabry BarCod control generating the correct Royal Mail Post Code?
Why isn't the Mabry BarCod control generating the correct Royal Mail Post Code?

Frequently Asked Questions

A common postal code for the UK is:

    CR2 6AW

However, for UK Post Office  barcoding this is not complete as the barcode must contain what is known as a Delivery Point Suffix (DPS), which is a two digit Numeric Alpha code. This code can only be obtained from the Post Office Address file which is available on CD-Rom in the UK.

So , say the  DPS is 6B, then enter:

    CR2 6AW 6B

in the Caption property.  The correct Post Office barcode will be generated, including the start, stop and checksum bars.  If you generate just CR2 6AW, the resulting barcode is unrecognisable by the UK Post Office, even though it's logically correct.


FAQ - Do you support the EAN-99 style?
Do you support the EAN-99 style?

Frequently Asked Questions

Yes.  The EAN-99 barcode style is used for in-store coupons.  EAN-99 is simply the EAN-13 barcode style with "99" as the first two digits.


Registration Information

CREDITS

BarCod was written by James Shields.

CONTACT INFORMATION

Orders, inquiries, technical support, questions, comments, etc. can be sent to mabry@mabry.com on the Internet.  Our mailing address/contact information is:

Mabry Software, Inc.

Post Office Box 31926

Seattle, WA  98103-1926

Sales: 1-800-99-MABRY (U.S. Only)

Voice: 206-634-1443

Fax: 206-632-0272 or 206-364-3196

Web: http://www.mabry.com

COST

The price of BarCod (control only) is US$35 (US$40 for International orders).  The cost of BarCod and the C/C++ source code (of the control itself) is US$90 (US$95 for International orders).

Prices are subject to change without notice.

DELIVERY METHODS

We can ship this software to you via air mail and/or e-mail.

Air Mail - you will receive disks, a printed manual, and printed receipt if you choose this delivery method.  The costs are:

US$5.00 	US Priority Mail

US$10.00 	AirBorne Express 2nd Day (US deliveries only)

US$15.00 	AirBorne Express Overnight (US deliveries only)

US$45.00 	International AirBorne Express.

E-Mail - We can ship this package to you via e-mail.  You need to have an e-mail account that can accept large file attachments (which includes CompuServe, AOL, and most Internet providers).  If you choose this option, please note: a printed manual is not included.  We will, however, e-mail a receipt to you.

Be sure to include your full mailing address with your order.  Sometimes (on the Internet) the package cannot be e-mailed, so we are forced to send it through the normal mails.

CompuServe E-Mail - CompuServe members can use the software registration forum (GO SWREG) to register this package.  BarCod's SWREG ID number is 1314.  The source code version's ID number is 1315.  PLEASE NOTE: When you order through SWREG, we send the registered package to your CompuServe account (not your Internet or AOL account) within a few hours.

ORDER / PAYMENT METHODS

You can order this software by phone, fax, e-mail, mail.  For your convenience, an order form has been provided that you can print out directly from this help file.

Please note that orders must include all information that is requested on our order form.   Your shipment WILL BE DELAYED if we have to contact you for additional information (such as phone number, street address, etc.).

You can pay by credit card (VISA, MasterCard, American Express), check (U.S. dollars drawn on a U.S. bank), cash, International Money Order, International Postal Order, Purchase Order (established business entities only - terms net 30), or wire transfer.

WIRE TRANSFER INFORMATION

Here is the information you need regarding our account for a wire funds transfer:

Bank Name: 	SeaFirst - Stone Way Branch

Bank Address: 	3601 Stone Way North

Seattle, WA  98103

Bank Phone: 	206-585-4951

Account Name: 	Mabry Software, Inc.

Routing Number: 	12000024

Account Number: 	16311706

If you are paying with a wire transfer of funds, please add US$12.50 to your order.  This is the fee that SeaFirst Bank charges Mabry Software.  Also, please ADD ANY ADDITIONAL FEES THAT YOUR BANK MAY CHARGE for wire transfer service. If you are paying with a  wire transfer, we must have full payment deposited to our account before we can ship your order.

Copyright © 1993-1997 by Mabry Software, Inc.


Order Form
 BarCod Order Form

Use the Print Topic... command from the File menu to print this order form.

Mail this 	Mabry Software, Inc.

form to: 	Post Office Box 31926

Seattle, WA  98103-1926

Phone: 206-634-1443

Fax: 206-632-0272 or 206-364-3196

Internet: mabry@mabry.com

Web: www.mabry.com

Where did you get this copy of BarCod?

____________________________________________________________________

Name: 	____________________________________________________________________

Ship to: 	____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

Phone: 	_________________________________________________________________

Fax: 	_________________________________________________________________

E-Mail: 	_________________________________________________________________

MC/VISA/AMEX: _________________________________________ exp. __________________

P.O. # (if any): 	____________________ Signature ____________________________________

qty ordered 	____ 	REGISTRATION
$35.00 ($40.00 international).  Check or money order in U.S. currency drawn on a U.S. bank.  Add $5.00 per order for shipping and handling.

qty ordered 	____ 	SOURCE CODE AND REGISTRATION
$90.00 ($95.00 international).  Check or money order in U.S. currency drawn on a U.S. bank.  Add $5.00 per order for shipping and handling.


Barcode Printing Example

In this example, the program will print a bar code on your printer.  The bar code and its style are determined by an edit box and a horizontal scroll bar. To try this example, paste the code into the Declarations section of a form that contains a text box, a command button, two labels, a horizontal scroll bar, and a BarCod control.  Press F5.  Then, set up the bar code using the horizontal scroll bar and the text box.  Once you have a bar code you like, press the command button to print it.

Sub Form_Load ()
    HScroll1.Min = 0
    HScroll1.Max = 3
    HScroll1.Value = 3

    Text1.Text = "SAMPLE"

    BarCod1.Style = 3
    BarCod1.BarWidth = 0
    BarCod1.Direction = 0
    BarCod1.Caption = Text1.Text

    Label1.Caption = BarCod1.Displayed
    Label2.Caption = "3"
End Sub

Sub Command1_Click ()
    Screen.MousePointer = 11

    Printer.ScaleMode = 1
    Printer.Print
    BarCod1.PrinterScaleMode = Printer.ScaleMode

    ' Print actual barcode
    BarCod1.PrinterLeft = 1440
    BarCod1.PrinterTop = 1440
    BarCod1.PrinterWidth = 3 * 1440
    BarCod1.PrinterHeight = 720
    BarCod1.PrinterHDC = Printer.hDC

    ' Show barcode text
    Printer.CurrentX = BarCod1.PrinterLeft
    Printer.CurrentY = BarCod1.PrinterTop + BarCod1.PrinterHeight + 180
    Printer.Print BarCod1.Displayed

    Printer.NewPage
    Printer.EndDoc

    Screen.MousePointer = 0
End Sub

Sub Text1_Change ()
    BarCod1.Caption = Text1.Text
    Label1.Caption = BarCod1.Displayed
End Sub

Sub HScroll1_Change ()
    BarCod1.Style = HScroll1.Value
    Label1.Caption = BarCod1.Displayed
    Label2.Caption = Format$( HScroll1.Value )
End Sub

Sub HScroll1_Scroll ()
    Call HScroll1_Change
End Sub


BarWidth Property Example

In this example, the program will vary the width of the bars. To try this example, paste the code into the Declarations section of a form that contains a horizontal scroll bar, a label (which shows the current BarWidth property), and a BarCod control (make this control wide).  Press F5.  Play with the scroll bar to see things change.

Sub Form_Load ()
    HScroll1.Value = 0
    HScroll1.Min = 0
    HScroll1.Max = 10

    Label1.Caption = "0"

    BarCod1.Style = 3
    BarCod1.BarWidth = 0
    BarCod1.Caption = "SAMPLE"
End Sub

Sub HScroll1_Change ()
    BarCod1.BarWidth = HScroll1.Value
    Label1.Caption = Format$( HScroll1.Value )
End Sub

Sub HScroll1_Scroll ()
    Call HScroll_Change
End Sub


Direction Property Example

In this example, the program will vary the direction the bar code is painted/printed. To try this example, paste the code into the Declarations section of a form that contains a horizontal scroll bar, a label (which shows the current Direction property), and a BarCod control (make this control tall and wide).  Press F5.  Play with the scroll bar to see things change.

Sub Form_Load ()
    HScroll1.Value = 0
    HScroll1.Min = 0
    HScroll1.Max = 3

    Label1.Caption = "0"

    BarCod1.Style = 3
    BarCod1.BarWidth = 2
    BarCod1.Direction = 0
    BarCod1.Caption = "SAMPLE"
End Sub

Sub HScroll1_Change ()
    BarCod1.Direction = HScroll1.Value
    Label1.Caption = Format$( HScroll1.Value )
End Sub

Sub HScroll1_Scroll ()
    Call HScroll_Change
End Sub


Displayed Property Example

In this example, the program will show what is displayed when various strings are attempted. To try this example, paste the code into the Declarations section of a form that contains a label (which shows the current Displayedn property), a text box, and a BarCod control.  Press F5.  Play with the edit box and see what appears in the label.

Sub Form_Load ()
    Label1.Caption = "0"
    Text1.Text = "SAMPLE"

    BarCod1.Style = 3
    BarCod1.BarWidth = 2
    BarCod1.Direction = 0
    BarCod1.Caption = Text1.Text
End Sub

Sub Text1_Change ()
    BarCod1.Caption = Text1.Text
    Label1.Caption = BarCod1.Displayed
End Sub


Style Property Example

In this example, the program will vary the style of the bar code used. To try this example, paste the code into the Declarations section of a form that contains a horizontal scroll bar, two labels (the first shows the Style property and the second shows the current Displayed property), a text box, and a BarCod control.  Press F5.  Play with the text box and the scroll bar and see what appears in the second label.

Sub Form_Load ()
    HScroll1.Min = 0
    HScroll1.Max = 10
    HScroll1.Value = 3

    Text1.Text = "SAMPLE"

    BarCod1.Style = 3
    BarCod1.BarWidth = 2
    BarCod1.Direction = 0
    BarCod1.Caption = Text1.Text

    Label1.Caption = BarCod1.Displayed
    Label2.Caption = "3"
End Sub

Sub Text1_Change ()
    BarCod1.Caption = Text1.Text
    Label1.Caption = BarCod1.Displayed
End Sub

Sub HScroll1_Change ()
    BarCod1.Style = HScroll1.Value
    Label1.Caption = BarCod1.Displayed
    Label2.Caption = Format$( HScroll1.Value )
End Sub

Sub HScroll1_Scroll ()
    Call HScroll1_Change
End Sub


Alignment Property See Also
See Also

BarWidth Property

Direction Property


BarWidth Property See Also
See Also

Direction Property

Style Property


Direction Property See Also
See Also

Alignment Property

BarWidth Property

Style Property


Displayed Property See Also
See Also

Style Property


PrinterHDC Property See Also
See Also

PrinterHeight Property

PrinterLeft Property

PrinterTop Property

PrinterWidth Property


PrinterLeft Property See Also
See Also

PrinterHDC Property

PrinterScaleMode Property


PrinterScaleMode Property See Also
See Also

PrinterHDC Property

PrinterHeight Property

PrinterLeft Property

PrinterTop Property

PrinterWidth Property


Style Property See Also
See Also

Alignment Property

BarWidth Property

Direction Property

UPCNotches Property


UPCNotches Property See Also
See Also

Alignment Property

BarWidth Property

Style Property


Alignment Property

See Also            Frequently Asked Questions

Description

Determines where the barcode is positioned within the control.

Syntax

object.Alignment [= integer ]

The syntax of the Alignment property has these parts:

Part	   	Description

object	A BarCod control.

integer	An integer that specifies the position of the barcode, within the control.

Remarks

This property determines where the barcode is placed within the control.  This property defaults to zero (0).

Constant	   	Value	   	Description

bcALeft	0	Left

bcARight	1	Right

bcACenter	2	Center

Data Type

Integer (enumerated)


BarWidth Property

See Also            BarWidth Property Example            Direction Property Example            Frequently Asked Questions

Description

Determines the width of the bars in the barcode.

Syntax

object.BarWidth [= integer ]

The syntax of the BarWidth property has these parts:

Part	   	Description

object	A BarCod control.

integer	An integer that determines the width of the narrow bars, in pixels.

Remarks

This represents the width of the "narrow" bar in the code selected (see Style).  If this is set to zero (0), BarCod expands the barcode to fit in the control.

This property is measured in pixels (except when zero).  This means that if you print a barcode on a 300 dpi printer and a 600 dpi printer, the barcode from the 300 dpi printer will be twice as wide as from the 600 dpi printer.

BarCod displays your barcode very accurately.  It will not drop a bit here or drop a bit there just to fit your print area / control (computer monitor and printers are made up of pixels, we cannot print fractional pixels).  This means that you cannot get barcodes to print exactly the width that you prefer.  We (Mabry) have chosen accuracy over appearance.

Data Type

Integer


Direction Property

See Also            Direction Property Example            Frequently Asked Questions

Description

Determines the direction/orientation of the barcode.

Syntax

object.Direction [= integer ]

The syntax of the Direction property has these parts:

Part	   	Description

object	A BarCod control.

integer	An integer that determines the orientation of the barcode.

Remarks

The value of this property determines the direction that the barcode goes.  This property can be one of following values:

Constant	   	Value	   	Description

msDLeftToRight	0	Left-to-right

msDRightToLeft	1	Right-to-left

msDTopToBottom	2	Top-to-bottom

msDBottomToTop	3	Bottom-to-top

Data Type

Integer (enumerated)


Displayed Property

See Also            Displayed Property Example            Barcode Printing Example            Style Property Example            Frequently Asked Questions

Description

Returns the actual string displayed in the barcode.

Syntax

object.Displayed

The syntax of the Displayed property has these parts:

Part	   	Description

object	A BarCod control.

Remarks

This property holds what was actually displayed.  barcodes don't have all the characters available.  Some are purely numeric, some have numbers and letters, etc.  This property lets your program know what was actually displayed.

This property is read-only and only available at run-time.

Data Type

String


PrinterHDC Property

See Also            Barcode Printing Example            Frequently Asked Questions

Description

Causes the control to be painted in the device handle specified (usually the printer object).

Syntax

object.PrinterHDC [= hdc ]

The syntax of the PrinterHDC property has these parts:

Part	   	Description

object	A BarCod control.

hdc	An integer that holds the device context handle (hDC) to paint into.

Remarks

When this property is set, the control paints itself into the Windows device context specified. Normally, this is used to print the control. To do this, use the hDC property of VB's Printer Object.

To print, make sure the Caption property is set correctly. Then, set the PrinterHeight, PrinterLeft, PrinterTop, and PrinterWidth properties. Finally, set PrinterHDC to Printer.hDC.

Data Type

Integer


PrinterHeight, PrinterLeft, PrinterTop and PrinterWidth Properties

See Also            Barcode Printing Example            Frequently Asked Questions

Description

Describes the area in which to paint the control when printing.

Syntax

object.PrinterHeight [= integer ]
object.PrinterLeft [= integer ]
object.PrinterTop [= integer ]
object.PrinterWidth [= integer ]

The syntax of the PrinterHeight, PrinterLeft, PrinterTop and PrinterWidth properties has these parts:

Part	   	Description

object	A BarCod control.

integer	An integer specifying distance.

Remarks

These properties describe where to place the control when printing. The coordinates used should be in the units specified by the PrinterScaleMode property.

To print, make sure the Caption property is set correctly. Then, set the PrinterHeight , PrinterLeft , PrinterTop , and PrinterWidth properties. Finally, set PrinterHDC to Printer.hDC.

Data Type

Integer (long)


PrinterScaleMode Property

See Also            Barcode Printing Example            Frequently Asked Questions

Description

Determines the units of measurement used by the PrinterLeft, PrinterTop, PrinterWidth, and PrinterHeight properties.

Syntax

object.PrinterScaleMode [= integer ]

The syntax of the PrinterScaleMode property has these parts:

Part	   	Description

object	A BarCod control.

integer	An integer specifying the new scale mode.

Remarks

This property determines what units to use for the properties describing the area in which to print. This property can be one of:

Constant	   	Value	   	Description

msSMPixel	0	Pixel (default, smallest unit of printer resolution)

msSMTwip	1	Twips (recommended, 1440 twips per inch)

msSMPoint	2	Point (72 points per inch)

msSMPixel	3	Pixel (smallest unit of printer resolution)

msSMCharacter	4	Character (12 per inch horizontally, 6 per inch vertically)

msSMInch	5	Inch

msSMMillimeter	6	Millimeter

msSMCentimeter	7	Centimeter

To print, make sure the Caption property is set correctly. Then, set the PrinterHeight, PrinterLeft, PrinterTop, and PrinterWidth properties. Finally, set PrinterHDC to Printer.hDC.

Data Type

Integer (enumerated)


Style Property

See Also            Barcode Printing Example            Style Property Example            Frequently Asked Questions

Description

Determines the barcode style used.

Syntax

object.Style [= integer ]

The syntax of the Style property has these parts:

Part	   	Description

object	A BarCod control.

integer	An integer that determines the barcode style to use.

Remarks

This property determines the style of the barcode used.  Each style has a different set of characters that it supports.  The styles are:

Constant	   	Value	   	Description

msSNone	0	None

msS2of5	1	2 of 5 - numbers only

msSInterleaved2of5	2	Interleaved 2 of 5 - numbers only

msS3of9	3	Code 3 of 9 (also called Code 39) - numbers, upper case, and - . * $ / + % (default)

msSCodabar	4	Codabar (rationalized) - numbers and A B C D - $ : / . +

msS3of9X	5	Extended 3 of 9 (also called Extended Code 39) - full ASCII character set

msSCode128A	6	Code 128A - upper case, numbers, punctuation, and control characters

msSCode128B	7	Code 128B - upper and lower case, numbers, and punctuation

msSCode128C	8	Code 128C - numbers only

msSUPCA	9	UPC-A - numbers only (11 numbers and a check digit)

msSMSI	10	MSI (Plessey) - numbers only

msSCode93	11	Code 93 - numbers, upper case, and - . * $ / + %

msSExtendedCode93	12	Extended Code 93 - full ASCII character set

msSEAN13	13	EAN-13 - numbers only (12 numbers and a check digit)

msSEAN8	14	EAN-8 - numbers only (7 numbers and a check digit)

msSPostNet	15	PostNet - numbers only (with a check digit)  Note: this style always displays as full size.  The BarWidth property has no effect.

msSANSI3of9	16	ANSI 3 of 9 (also called Code 39) - 3:1 narrow-to-wide bar width ratio - numbers, upper case, and - . * $ / + %

msSANSI3of9X	17	ANSI Extended 3 of 9 (also called Extended Code 39) - 3:1 narrow-to-wide bar width ratio - full ASCII character set

msSCode128Auto	18	Code 128 (auto-select) - full ASCII character set - automatically selects between Code 128 A, B, and C to produce the smallest barcode

msSUCCEAN128	19	UCC/EAN-128 - special version of Code 128 used in package in HIBC applications - full ASCII character set

msSUPCE	20	UPC-E - numbers only - used for zero-compression UPC symbols.  For the Caption property you may enter either a six-digit UPC-E code or a complete 11-digit (includes code type, which must be 0 (zero)) UPC-A code.  If an 11-digit code is entered, the BarCod control will convert it to a six-digit UPC-E code, if possible.  If it is not possible to convert from the 11-digit code to the six-digit code, nothing is displayed.

msSRoyalMail	21	Royal Mail RM4SCC - numbers and letters only (with a check digit)  This is the barcode used by the Royal Mail in the United Kingdom.  Note: this style always displays as full size.  The BarWidth property has no effect.

Data Type

Integer (enumerated)


UPCNotches Property

See Also            Frequently Asked Questions

Description

Determines where the notches are on a UPC barcode.

Syntax

object.UPCNotches [= integer ]

The syntax of the UPCNotches property has these parts:

Part	   	Description

object	A BarCod control.

integer	An integer that specifies the location of the UPC notches, if any.

Remarks

This property determines where the notches are (if any) on a UPC barcode.  The settings are:

Constant	   	Value	   	Description

msUPCNNone	0	None

msUPCNAbove	1	Above

msUPCNBelow	2	Below

msUPCNBoth	3	Both (default)

Data Type

Integer (enumerated)


Version Property

Frequently Asked Questions

Description

Shows the version of the control.

Syntax

object.Version

The syntax of the Version property has these parts:

Part	   	Description

object	A BarCod control.

Remarks

This property holds the current version of the control.  It is read-only and available at both design-time and run-time.

Data Type

String


Getting Custom Controls Written

If you or your organization would like to have custom controls written, you can contact us at the following:

Mabry Software, Inc.

Post Office Box 31926

Seattle, WA  98103-1926

Phone: 206-634-1443

Fax: 206-632-0272 or 206-364-3196

Internet: mabry@mabry.com

You can also contact Zane Thomas.  He can be reached at:

Zane Thomas

Post Office Box 121

Indianola, WA  98342

Internet: zane@mabry.com


Licensing Information

Legalese Version

Mabry Software grants a license to use the enclosed software to the original purchaser.  Copies may be made for back-up purposes only.  Copies made for any other purpose are expressly prohibited, and adherence to this requirement is the sole responsibility of the purchaser.

Customer written executable applications containing embedded Mabry products may be freely distributed, without royalty payments to Mabry Software, provided that such distributed Mabry product is bound into these applications in such a way so as to prohibit separate use in design mode, and that such Mabry product is distributed only in conjunction with the customers own software product.  The Mabry Software product may not be distributed by itself in any form.

Neither source code for Mabry Software products nor modified source code for Mabry Software products may be distributed under any circumstances, nor may you distribute .OBJ, .LIB, etc. files that contain our routines. This control may be used as a constituent control only if the compound control thus created is distributed with and as an integral part of an application.  Permission to use this control as a constituent control does not grant a right to distribute the license (LIC) file or any other file other than the control executable itself. This license may be transferred to a third party only if all existing copies of the software and its documentation are also transferred.

This product is licensed for use by only one developer at a time.  Mabry Software expressly prohibits installing this product on more than one computer if there is any chance that both copies will be used simultaneously.  This restriction also extends to installation on a network server, if more than one workstation will be accessing the product.  All developers working on a project which includes a Mabry Software product, even though not working directly with the Mabry product, are required to purchase a license for that Mabry product.

This software is provided as is.  Mabry Software makes no warranty, expressed or implied, with regard to the software.  All implied warranties, including the warranties of merchantability and fitness for a particular use, are hereby excluded.

MABRY SOFTWARE'S LIABILITY IS LIMITED TO THE PURCHASE PRICE.  Under no circumstances shall Mabry Software or the authors of this product be liable for any incidental or consequential damages, nor for any damages in excess of the original purchase price.

To be eligible for free technical support by telephone, the Internet, CompuServe, etc. and to ensure that you are notified of any future updates, please complete the enclosed registration card and return it to Mabry Software.

English Version

We require that you purchase one copy of a control per developer on a project.  If this is met, you may distribute the control with your application royalty free.  You may never distribute the LIC file.  You may not change the product in any way that removes or changes the requirement of a license file.

We encourage the use of our controls as constituent controls when the compound controls you create are an integral part of your application.  But we don't allow distribution of our controls as constituents of other controls when the compound control is not part of an application.  The reason we need to have this restriction is that without it someone might decide to use our control as a constituent, add some trivial (or even non-trivial) enhancements and then sell the compound control.  Obviously there would be little difference between that and just plain reselling our control.

If you have purchased the source code, you may not re-distribute the source code either (nor may you copy it into your own project).  Mabry Software retains the copyright to the source code.

Your license is transferable.  The original purchaser of the product must make the transfer request.  Contact us for further information.

The sample versions of our products are intended for evaluation purposes only.  You may not use the sample version to develop completed applications.